package com.icongyou.enterprise.talent_analysis.mapper;

import com.icongyou.enterprise.talent_analysis.entity.WordCloudUpdateQueue;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 词云图更新队列Mapper
 */
@Mapper
public interface WordCloudUpdateQueueMapper {
    
    /**
     * 插入更新任务
     */
    int insert(WordCloudUpdateQueue task);
    
    /**
     * 查询待处理任务
     */
    List<WordCloudUpdateQueue> selectPendingTasks(@Param("limit") int limit);
    
    /**
     * 更新任务状态为处理中
     */
    int updateToProcessing(@Param("id") Long id);
    
    /**
     * 更新任务为完成
     */
    int updateToCompleted(@Param("id") Long id);
    
    /**
     * 更新任务为失败
     */
    int updateToFailed(@Param("id") Long id, @Param("errorMessage") String errorMessage);
    
    /**
     * 增加重试次数
     */
    int incrementRetryCount(@Param("id") Long id);
}
